from net.NetUtils import EasyHttp

CITY_NAME = ["北京北", "北京东", "北京", "北京南", "北京西", "广州南", "重庆北", "重庆", "重庆南", "重庆西", "广州东", "上海", "上海南", "上海虹桥", "上海西",
             "天津北", "天津", "天津南", "天津西", "香港西九龙", "长春", "长春南", "长春西", "成都东", "成都南", "成都", "长沙", "长沙南", "大明湖", "福州",
             "福州南", "贵阳", "广州", "广州西", "哈尔滨", "哈尔滨东", "哈尔滨西", "合肥", "合肥西", "呼和浩特东", "呼和浩特", "海口东", "海口", "杭州东", "杭州",
             "杭州南", "济南", "南", "南西", "济南西", "昆明", "昆明西", "拉萨", "兰州东", "兰州", "兰州西", "南昌", "南京", "南京南", "南宁", "石家庄北",
             "石家庄", "沈阳", "沈阳北", "沈阳东", "沈阳南", "太原北", "太原东", "太原", "武汉", "王家营西", "乌鲁木齐", "西安北", "西安", "西安南", "西宁", "银川",
             "郑州", "阿尔山", "安康", "阿克苏", "阿里河", "阿拉山口", "安平", "安庆", "安顺", "鞍山", "安阳", "北安", "蚌埠", "白城", "北海", "白河", "白涧",
             "宝鸡", "滨江", "博克图", "百色", "白山市", "北台", "包头东", "包头", "北屯市", "本溪", "白云鄂博", "白银西", "亳州", "赤壁", "常德", "承德",
             "长甸", "赤峰南", "茶陵", "苍南", "昌平", "崇仁", "昌图", "长汀镇", "曹县", "楚雄南", "陈相屯", "长治北", "池州", "长征", "常州", "郴州", "长治",
             "沧州", "崇左", "大安北", "大成", "丹东", "东方红", "东莞东", "大虎山", "敦化", "敦煌", "德惠", "东京城", "大涧", "都江堰", "大连北", "大理",
             "大连", "定南", "大庆", "东胜", "大石桥", "大同", "东营", "大杨树", "都匀", "邓州", "达州", "德州", "额济纳", "二连", "恩施", "福鼎", "凤凰机场",
             "风陵渡", "涪陵", "富拉尔基", "抚顺北", "佛山", "阜新南", "阜阳", "格尔木", "广汉", "古交", "桂林北", "古莲", "桂林", "固始", "广水", "干塘",
             "广元", "广州北", "赣州", "公主岭", "公主岭南", "淮安", "淮北", "鹤北", "淮滨", "河边", "潢川", "韩城", "邯郸", "横道河子", "鹤岗", "皇姑屯",
             "红果", "黑河", "怀化", "汉口", "葫芦岛", "海拉尔", "霍林郭勒", "海伦", "侯马", "哈密", "淮南", "桦南", "海宁西", "鹤庆", "怀柔北", "怀柔",
             "黄石东", "华山", "黄山", "黄石", "衡水", "衡阳", "菏泽", "贺州", "汉中", "惠州", "吉安", "集安", "江边村", "晋城", "金城江", "景德镇", "嘉峰",
             "加格达奇", "井冈山", "蛟河", "金华南", "金华", "九江", "吉林", "荆门", "佳木斯", "济宁", "集宁南", "酒泉", "江山", "吉首", "九台", "镜铁山",
             "鸡西", "绩溪县", "嘉峪关", "江油", "蓟州北", "金州", "锦州", "库尔勒", "开封", "岢岚", "凯里", "喀什", "昆山南", "奎屯", "开原", "六安", "灵宝",
             "芦潮港", "利川", "隆昌", "陆川", "临川", "潞城", "鹿道", "娄底", "临汾", "良各庄", "临河", "漯河", "绿化", "隆化", "丽江", "临江", "龙井",
             "吕梁", "醴陵", "柳林南", "滦平", "六盘水", "灵丘", "旅顺", "兰溪", "陇西", "澧县", "临西", "龙岩", "耒阳", "洛阳", "连云港东", "洛阳东", "临沂",
             "洛阳龙门", "柳园", "凌源", "辽源", "立志", "柳州", "辽中", "麻城", "免渡河", "牡丹江", "莫尔道嘎", "明光", "满归", "漠河", "茂名", "茂名西",
             "密山", "马三家", "麻尾", "绵阳", "梅州", "满洲里", "宁波东", "宁波", "南岔", "南充", "南丹", "南大庙", "南芬", "讷河", "嫩江", "内江", "南通",
             "南阳", "碾子山", "平顶山", "盘锦", "平凉", "平凉南", "平泉", "坪石", "萍乡", "凭祥", "郫县西", "攀枝花", "蕲春", "青城山", "青岛", "清河城",
             "曲靖", "黔江", "前进镇", "齐齐哈尔", "七台河", "沁县", "泉州东", "泉州", "衢州", "融安", "汝箕沟", "瑞金", "日照", "双城堡", "绥芬河", "韶关东",
             "山海关", "绥化", "三间房", "苏家屯", "舒兰", "神木南", "三门峡", "商南", "遂宁", "四平", "商丘", "上饶", "韶山", "宿松", "汕头", "邵武", "涉县",
             "邵阳", "三亚", "十堰", "三元区", "双鸭山", "松原", "苏州", "深圳", "宿州", "随州", "朔州", "深圳西", "塘豹", "塔尔气", "潼关", "塘沽", "塔河",
             "通化", "泰来", "吐鲁番", "通辽", "铁岭", "陶赖昭", "图们", "铜仁", "唐山北", "田师府", "泰山", "唐山", "天水", "通远堡", "太阳升", "泰州", "桐梓",
             "通州西", "五常", "武昌", "瓦房店", "威海", "芜湖", "乌海西", "吴家屯", "乌鲁木齐南", "武隆", "乌兰浩特", "渭南", "威舍", "歪头山", "武威", "武威南",
             "无锡", "乌西", "乌伊岭", "武夷山", "万源", "万州", "梧州", "温州", "温州南", "西昌", "许昌", "西昌南", "锡林浩特", "厦门北", "厦门", "厦门高崎",
             "宣威", "新乡", "信阳", "咸阳", "襄阳", "熊岳城", "新余", "徐州", "延安", "宜宾", "亚布力南", "叶柏寿", "宜昌东", "永川", "盐城", "宜昌", "运城",
             "伊春", "榆次", "杨村", "宜春西", "伊尔施", "燕岗", "永济", "延吉", "营口", "牙克石", "玉林", "阎良", "榆林", "亚龙湾", "一面坡", "伊宁", "阳平关",
             "玉屏", "原平", "延庆", "阳泉曲", "玉泉", "阳泉", "营山", "玉山", "燕山", "榆树", "烟台", "鹰潭", "伊图里河", "玉田县", "义乌", "阳新", "义县",
             "益阳", "岳阳", "崖州", "扬州", "永州", "淄博", "镇城底", "自贡", "珠海", "珠海北", "湛江", "镇江", "张家界", "张家口", "周口", "扎兰屯", "驻马店",
             "肇庆", "周水子", "昭通", "中卫", "资阳", "遵义西", "枣庄", "资中", "株洲", "枣庄西", "昂昂溪", "阿城", "安达", "安德", "安定", "安多", "安广",
             "敖汉", "艾河", "安化", "艾家村", "安家", "阿金", "安靖", "阿克陶", "安口窑", "敖力布告", "安龙", "阿龙山", "安陆", "阿木尔", "阿南庄", "安庆西",
             "鞍山西", "安塘", "安亭北", "阿图什", "安图", "安溪", "博鳌", "北碚", "白壁关", "蚌埠南", "巴楚", "板城", "北戴河", "保定", "宝坻", "八达岭",
             "巴东", "宝丰", "柏果", "布海", "白河东", "宝华山", "白河县", "白芨沟", "碧鸡关", "北滘", "碧江", "白鸡坡", "笔架山", "八角台", "保康", "白奎堡",
             "白狼", "百浪", "博乐", "巴林", "宝林", "北流", "勃利", "布列开", "宝龙山", "百里峡", "八面城", "班猫箐", "八面通", "北马圈子", "北票南", "白旗",
             "宝泉岭", "白泉", "巴山", "白水江", "白沙坡", "白石山", "白水镇", "东", "坂田", "泊头", "北屯", "本溪湖", "博兴", "八仙筒", "白音察干", "背荫河",
             "北营", "巴彦高勒", "白音他拉", "鲅鱼圈", "白银市", "白音胡硕", "巴中", "霸州", "北宅", "赤壁北", "查布嘎", "长城", "长冲", "承德东", "赤峰", "嵯岗",
             "柴岗", "长葛", "柴沟堡", "城固", "陈官营", "成高子", "草海", "柴河", "册亨", "草河口", "崔黄口", "巢湖", "蔡家沟", "成吉思汗", "岔江", "蔡家坡",
             "昌乐", "超梁沟", "慈利", "昌黎", "长岭子", "晨明", "长农", "昌平北", "常平", "长坡岭", "辰清", "蔡山", "楚山", "长寿", "磁山", "苍石", "草市",
             "察素齐", "长山屯", "长汀", "朝天南", "昌图西", "春湾", "磁县", "岑溪", "辰溪", "磁西", "长兴南", "磁窑", "春阳", "城阳", "创业村", "朝阳川",
             "朝阳地", "朝阳南", "长垣", "朝阳镇", "滁州北", "常州北", "滁州", "潮州", "常庄", "曹子里", "车转湾", "郴州西", "沧州西", "德安", "大安", "大坝",
             "大板", "大巴", "电白", "到保", "达坂城", "定边", "东边井", "德伯斯", "打柴沟", "德昌", "滴道", "大磴沟", "刀尔登", "得耳布尔", "杜尔伯特", "东方",
             "丹凤", "东丰", "都格", "大官屯", "大关", "东光", "东海", "大灰厂", "大红旗", "大禾塘", "德惠西", "东海县", "达家沟", "东津", "杜家", "大口屯",
             "东来", "德令哈", "带岭", "大林", "达拉特旗", "独立屯", "豆罗", "达拉特西", "大连西", "东明村", "洞庙河", "东明县", "大拟", "大平房", "大盘石", "大埔",
             "大堡", "大庆东", "大其拉哈", "道清", "对青山", "德清西", "大庆西", "东升", "砀山", "独山", "登沙河", "读书铺", "大石头", "东胜西", "大石寨", "东台",
             "定陶", "灯塔", "大田边", "东通化", "丹徒", "大屯", "东湾", "大武口", "低窝铺", "大王滩", "大湾子", "大兴沟", "大兴", "定西", "甸心", "东乡",
             "代县", "定襄", "东戌", "东辛庄", "丹阳", "德阳", "大雁", "当阳", "丹阳北", "大英东", "东淤地", "大营", "定远", "岱岳", "大元", "大营镇", "大营子",
             "大战场", "德州东", "东至", "低庄", "东镇", "道州", "东庄", "兑镇", "豆庄", "定州", "大竹园", "大杖子", "豆张庄", "峨边", "二道沟门", "二道湾",
             "鄂尔多斯", "二龙", "二龙山屯", "峨眉", "二密河", "恩平", "二营", "鄂州", "福安", "丰城", "丰城南", "肥东", "发耳", "富海", "福海", "凤凰城",
             "汾河", "奉化", "富锦", "范家屯", "福利区", "福利屯", "丰乐镇", "阜南", "阜宁", "抚宁", "福清", "福泉", "丰水村", "丰顺", "繁峙", "抚顺", "福山口",
             "扶绥", "冯屯", "浮图峪", "富县东", "凤县", "富县", "费县", "凤阳", "汾阳", "扶余北", "分宜", "富源", "扶余", "富裕", "抚州北", "凤州", "丰镇",
             "范镇", "固安", "广安", "高碑店", "沟帮子", "甘草店", "谷城", "藁城", "高村", "古城镇", "广德", "贵定", "贵定南", "古东", "贵港", "官高", "葛根庙",
             "干沟", "甘谷", "高各庄", "甘河", "根河", "郭家店", "孤家子", "古浪", "皋兰", "高楼房", "归流河", "关林", "甘洛", "郭磊庄", "高密", "公庙子",
             "工农湖", "广宁寺南", "广南卫", "高平", "甘泉北", "共青城", "甘旗卡", "甘泉", "高桥镇", "灌水", "赶水", "孤山口", "果松", "高山子", "嘎什甸子", "高台",
             "高滩", "古田", "官厅", "官厅西", "贵溪", "涡阳", "巩义", "高邑", "巩义南", "广元南", "固原", "菇园", "公营子", "光泽", "古镇", "固镇", "虢镇",
             "瓜州", "高州", "盖州", "官字井", "冠豸山", "盖州西", "海安", "淮安南", "红安", "红安西", "黄柏", "海北", "鹤壁", "会昌北", "汉川", "华城", "河唇",
             "海城", "合川", "黑冲滩", "黄村", "海城西", "化德", "洪洞", "霍尔果斯", "横峰", "韩府湾", "汉沽", "黄瓜园", "红光镇", "浑河", "红花沟", "黄花筒",
             "贺家店", "和静", "红江", "黑井", "获嘉", "河津", "涵江", "华家", "杭锦后旗", "河间西", "花家庄", "河口南", "湖口", "黄口", "呼兰", "葫芦岛北",
             "浩良河", "哈拉海", "鹤立", "桦林", "黄陵", "海林", "虎林", "寒岭", "和龙", "海龙", "哈拉苏", "呼鲁斯太", "火连寨", "黄梅", "韩麻营", "黄泥河",
             "海宁", "惠农", "和平", "花棚子", "花桥", "宏庆", "怀仁", "华容", "华山北", "黄松甸", "和什托洛盖", "汉寿", "红山", "衡山", "黑水", "惠山",
             "虎什哈", "红寺堡", "虎石台", "海石湾", "衡山西", "红砂岘", "黑台", "桓台", "和田", "会同", "海坨子", "黑旺", "海湾", "红星", "徽县", "红兴隆",
             "换新天", "红岘台", "红彦", "海晏", "合阳", "衡阳东", "华蓥", "汉阴", "黄羊滩", "汉源", "河源", "花园", "湟源", "黄羊镇", "湖州", "化州", "黄州",
             "霍州", "惠州西", "巨宝", "靖边", "金宝屯", "晋城北", "金昌", "鄄城", "交城", "建昌", "峻德", "井店", "鸡东", "江都", "鸡冠山", "金沟屯", "静海",
             "金河", "锦河", "精河", "精河南", "江华", "建湖", "纪家沟", "晋江", "锦界", "姜家", "江津", "金坑", "芨岭", "金马村", "江门东", "角美", "莒南",
             "井南", "建瓯", "经棚", "江桥", "九三", "金山北", "建始", "嘉善", "京山", "稷山", "吉舒", "建设", "甲山", "建三江", "嘉善南", "金山屯", "江所田",
             "景泰", "九台南", "吉文", "进贤", "莒县", "嘉祥", "介休", "嘉兴", "井陉", "嘉兴南", "夹心子", "简阳", "姜堰", "建阳", "巨野", "揭阳南", "江永",
             "缙云", "靖远", "江源", "济源", "靖远西", "胶州北", "焦作东", "金寨", "荆州", "蓟州", "靖州", "胶州", "晋州", "锦州南", "焦作", "旧庄窝", "金杖子",
             "开安", "库车", "康城", "库都尔", "宽甸", "克东", "昆都仑召", "开江", "康金井", "喀喇其", "开鲁", "克拉玛依", "开平南", "口前", "昆山", "奎山",
             "克山", "康熙岭", "昆阳", "克一河", "开原西", "康庄", "来宾", "老边", "灵宝西", "龙川", "乐昌", "黎城", "聊城", "蓝村", "两当", "林东", "乐都",
             "梁底下", "六道河子", "鲁番", "廊坊", "落垡", "廊坊北", "老府", "兰岗", "龙骨甸", "芦沟", "龙沟", "拉古", "临海", "林海", "拉哈", "凌海", "柳河",
             "六合", "龙华", "滦河沿", "六合镇", "亮甲店", "刘家店", "刘家河", "连江", "庐江", "李家", "罗江", "廉江", "两家", "龙江", "龙嘉", "莲江口",
             "蔺家楼", "李家坪", "兰考", "林口", "路口铺", "老莱", "临澧", "拉林", "陆良", "龙里", "兰棱", "零陵", "卢龙", "喇嘛甸", "里木店", "洛门", "龙南",
             "梁平", "罗平", "落坡岭", "六盘山", "乐平市", "临清", "龙泉寺", "乐山北", "乐善村", "冷水江东", "连山关", "流水沟", "丽水", "陵水", "罗山", "鲁山",
             "梁山", "灵石", "露水河", "庐山", "林盛堡", "柳树屯", "龙山镇", "梨树镇", "李石寨", "黎塘", "轮台", "芦台", "龙塘坝", "濑湍", "骆驼巷", "李旺",
             "莱芜东", "狼尾山", "灵武", "莱芜西", "朗乡", "陇县", "临湘", "芦溪", "莱西", "林西", "滦县", "莱阳", "略阳", "辽阳", "凌源东", "临沂东", "连云港",
             "临颍", "老营", "龙游", "罗源", "林源", "涟源", "涞源", "耒阳西", "临泽", "龙爪沟", "雷州", "六枝", "鹿寨", "来舟", "龙镇", "拉鲊", "兰州新区",
             "马鞍山", "毛坝", "毛坝关", "麻城北", "渑池", "明城", "庙城", "渑池南", "茅草坪", "猛洞河", "磨刀石", "弥渡", "帽儿山", "明港", "梅河口", "马皇",
             "孟家岗", "美兰", "汨罗东", "马莲河", "穆棱", "茅岭", "庙岭", "茂林", "马林", "马龙", "木里图", "汨罗", "玛纳斯湖", "冕宁", "沐滂", "马桥河",
             "闽清", "民权", "明水河", "麻山", "眉山", "漫水湾", "茂舍祖", "米沙子", "马踏", "美溪", "勉县", "麻阳", "密云北", "米易", "麦园", "墨玉", "庙庄",
             "米脂", "明珠", "宁安", "农安", "南博山", "南仇", "南城司", "宁村", "宁德", "南观村", "南宫东", "南关岭", "宁国", "宁海", "南华北", "南河川",
             "泥河子", "宁家", "南靖", "牛家", "能家", "南口", "南口前", "南朗", "乃林", "尼勒克", "那罗", "宁陵县", "奈曼", "宁明", "南木", "那铺", "南桥",
             "那曲", "暖泉", "南台", "南头", "宁武", "南湾子", "南翔北", "宁乡", "内乡", "牛心台", "南峪", "娘子关", "南召", "南杂木", "蓬安", "平安", "平安驿",
             "磐安镇", "平安镇", "蒲城东", "蒲城", "裴德", "偏店", "坡底下", "瓢儿屯", "平房", "平岗", "平果", "平关", "盘关", "徘徊北", "平河口", "平湖",
             "盘锦北", "潘家店", "皮口南", "普兰店", "偏岭", "平山", "彭山", "皮山", "磐石", "平社", "彭水", "平台", "平田", "莆田", "葡萄菁", "普湾", "平旺",
             "平型关", "普雄", "蓬溪", "郫县", "平阳", "平洋", "彭阳", "平遥", "平邑", "平原堡", "平原", "平峪", "平庄北", "彭泽", "邳州", "泡子", "平庄南",
             "乾安", "庆安", "迁安", "祁东北", "七甸", "曲阜东", "庆丰", "奇峰塔", "曲阜", "琼海", "秦皇岛", "千河", "清河", "清河门", "清华园", "全椒", "潜江",
             "渠旧", "秦家", "綦江", "祁家堡", "清涧县", "秦家庄", "七里河", "秦岭", "渠黎", "青龙", "青龙山", "祁门", "前磨头", "青山", "确山", "前山", "清水",
             "戚墅堰", "青田", "桥头", "青铜峡", "前卫", "前苇塘", "渠县", "祁县", "青县", "桥西", "清徐", "旗下营", "千阳", "沁阳", "泉阳", "祁阳北", "七营",
             "庆阳山", "清远", "清原", "钦州东", "钦州", "青州市", "瑞安", "荣昌", "瑞昌", "如皋", "容桂", "任丘", "乳山", "融水", "热水", "容县", "饶阳",
             "汝阳", "绕阳河", "汝州", "石坝", "上板城", "施秉", "上板城南", "世博园", "双城北", "舒城", "商城", "莎车", "顺昌", "神池", "沙城", "石城",
             "山城镇", "山丹", "顺德", "绥德", "水洞", "商都", "十渡", "四道湾", "顺德学院", "绅坊", "双丰", "四方台", "水富", "三关口", "桑根达来", "韶关",
             "上高镇", "上杭", "沙海", "蜀河", "松河", "沙河", "沙河口", "赛汗塔拉", "沙河市", "沙后所", "山河屯", "三河县", "四合永", "三汇镇", "双河镇", "石河子",
             "三合庄", "三家店", "水家湖", "沈家河", "松江河", "尚家", "孙家", "沈家", "双吉", "松江", "三江口", "司家岭", "松江南", "石景山南", "邵家堂", "三江县",
             "三家寨", "十家子", "松江镇", "施家嘴", "深井子", "什里店", "疏勒", "疏勒河", "舍力虎", "石磷", "石林", "双辽", "绥棱", "石岭", "石林南", "石龙",
             "萨拉齐", "索伦", "商洛", "沙岭子", "石门县北", "三门峡南", "三门县", "石门县", "三门峡西", "肃宁", "宋", "双牌", "沙坪坝", "四平东", "遂平", "沙坡头",
             "沙桥", "商丘南", "水泉", "石泉县", "石桥子", "石人城", "石人", "山市", "神树", "鄯善", "三水", "泗水", "石山", "松树", "首山", "三十家",
             "三十里堡", "双水镇", "松树镇", "松桃", "索图罕", "三堂集", "石头", "神头", "沙沱", "上万", "孙吴", "沙湾县", "歙县", "遂溪", "沙县", "绍兴",
             "石岘", "上西铺", "石峡子", "绥阳", "沭阳", "寿阳", "水洋", "三阳川", "上腰墩", "三营", "顺义", "三义井", "三源浦", "上虞", "三原", "上园", "水源",
             "桑园子", "绥中北", "苏州北", "宿州东", "深圳东", "深州", "孙镇", "绥中", "尚志", "师庄", "松滋", "师宗", "苏州园区", "苏州新区", "泰安", "台安",
             "通安驿", "桐柏", "通北", "桐城", "汤池", "郯城", "铁厂", "桃村", "通道", "田东", "天岗", "土贵乌拉", "通沟", "太谷", "塔哈", "棠海", "唐河",
             "泰和", "太湖", "团结", "谭家井", "陶家屯", "唐家湾", "统军庄", "吐列毛杜", "图里河", "铜陵", "田林", "亭亮", "铁力", "铁岭西", "图们北", "天门",
             "天门南", "太姥山", "土牧尔台", "土门子", "洮南", "潼南", "太平川", "太平镇", "图强", "台前", "天桥岭", "土桥子", "汤山城", "台山", "桃山", "塔石嘴",
             "通途", "汤旺河", "同心", "土溪", "桐乡", "田阳", "天义", "汤阴", "驼腰岭", "太阳山", "通榆", "汤原", "塔崖驿", "滕州东", "台州", "天祝", "滕州",
             "天镇", "桐子林", "天柱山", "文安", "武安", "王安镇", "吴堡", "旺苍", "五叉沟", "文昌", "温春", "五大连池", "文登", "五道沟", "五道河", "文地",
             "卫东", "武当山", "望都", "乌尔旗汗", "潍坊", "万发屯", "王府", "瓦房店西", "王岗", "武功", "湾沟", "吴官田", "乌海", "苇河", "卫辉", "吴家川",
             "五家", "威箐", "午汲", "渭津", "王家湾", "倭肯", "五棵树", "五龙背", "万乐", "瓦拉干", "温岭", "五莲", "乌拉特前旗", "卧里屯", "渭南北", "乌奴耳",
             "万宁", "万年", "渭南南", "渭南镇", "沃皮", "吴桥", "汪清", "武清", "武山", "文水", "魏善庄", "王瞳", "五台山", "王团庄", "五五", "无锡东", "卫星",
             "闻喜", "武乡", "无锡新区", "武穴", "吴圩", "王杨", "武义", "五营", "瓦窑田", "五原", "苇子沟", "韦庄", "五寨", "王兆屯", "微子镇", "魏杖子",
             "新安", "兴安", "新安县", "新保安", "下板城", "西八里", "宣城", "兴城", "小村", "新绰源", "下城子", "新城子", "喜德", "小得江", "西大庙", "小董",
             "小东", "香坊", "信丰", "襄汾", "息烽", "新干", "轩岗", "孝感", "西固城", "兴国", "西固", "夏官营", "西岗子", "宣汉", "襄河", "新和", "宣和",
             "斜河涧", "新华屯", "新会", "新华", "新晃", "新化", "宣化", "兴和西", "小河沿", "下花园", "小河镇", "徐家店", "徐家", "峡江", "新绛", "辛集",
             "新江", "西街口", "许家屯", "许家台", "谢家镇", "兴凯", "小榄", "香兰", "兴隆店", "新乐", "新林", "小岭", "新李", "西林", "西柳", "仙林", "新立屯",
             "兴隆县", "兴隆镇", "新立镇", "新民", "西麻山", "下马塘", "孝南", "咸宁北", "兴宁", "咸宁", "犀浦东", "西平", "兴平", "新坪田", "霞浦", "溆浦",
             "犀浦", "新青", "新邱", "兴泉堡", "仙人桥", "小寺沟", "杏树", "浠水", "下社", "小市", "徐水", "夏石", "小哨", "秀山", "新松浦", "杏树屯", "许三湾",
             "湘潭", "邢台", "向塘", "仙桃西", "下台子", "徐闻", "新窝铺", "修武", "新县", "息县", "西乡", "湘乡", "西峡", "孝西", "小新街", "新兴县", "西小召",
             "小西庄", "向阳", "旬阳", "旬阳北", "兴业", "小雨谷", "新沂", "兴义", "信宜", "小月旧", "小扬气", "襄垣", "夏邑县", "祥云西", "新友谊", "新阳镇",
             "徐州东", "新帐房", "悬钟", "新肇", "襄州", "忻州", "汐子", "西哲里木", "新杖子", "姚安", "依安", "永安", "永安乡", "亚布力", "元宝山", "羊草",
             "秧草地", "阳澄湖", "迎春", "叶城", "盐池", "砚川", "阳春", "宜城", "应城", "禹城", "晏城", "阳城", "阳岔", "郓城", "雁翅", "云彩岭", "虞城县",
             "营城子", "英德", "永登", "尹地", "永定", "阳东", "雁荡山", "于都", "园墩", "英德西", "永丰营", "杨岗", "阳高", "阳谷", "友好", "余杭", "沿河城",
             "岩会", "羊臼河", "永嘉", "阳江", "营街", "盐津", "余江", "燕郊", "姚家", "岳家井", "一间堡", "英吉沙", "云居寺", "燕家庄", "永康", "营口东",
             "银浪", "永郎", "宜良北", "永乐店", "伊拉哈", "伊林", "杨陵", "彝良", "杨林", "余粮堡", "杨柳青", "月亮田", "义马", "阳明堡", "玉门", "云梦",
             "元谋", "一面山", "沂南", "宜耐", "伊宁东", "营盘水", "羊堡", "阳泉北", "乐清", "焉耆", "源迁", "姚千户屯", "阳曲", "榆树沟", "颍上", "月山",
             "玉石", "玉舍", "偃师", "沂水", "榆社", "窑上", "元氏", "杨树岭", "野三坡", "榆树屯", "榆树台", "鹰手营子", "源潭", "牙屯堡", "烟筒山", "烟筒屯",
             "羊尾哨", "阳西", "越西", "永修", "攸县", "玉溪西", "弋阳", "余姚", "酉阳", "岳阳东", "阳邑", "鸭园", "鸳鸯镇", "燕子砭", "仪征", "宜州", "兖州",
             "迤资", "羊者窝", "杨杖子", "镇安", "治安", "招柏", "张百湾", "中川机场", "枝城", "子长", "诸城", "邹城", "赵城", "章党", "正定", "肇东", "照福铺",
             "章古台", "赵光", "中和", "中华门", "枝江北", "钟家村", "朱家沟", "紫荆关", "周家", "诸暨", "镇江南", "周家屯", "褚家湾", "湛江西", "朱家窑",
             "曾家坪子", "张兰", "镇赉", "枣林", "扎鲁特", "扎赉诺尔西", "樟木头", "中牟", "中宁东", "中宁", "中宁南", "镇平", "漳平", "泽普", "枣强", "张桥",
             "章丘", "朱日和", "泽润里", "中山北", "樟树东", "珠斯花", "中山", "柞水", "钟山", "樟树", "珠窝", "张维屯", "彰武", "棕溪", "钟祥", "资溪", "镇西",
             "张辛", "正镶白旗", "枣阳", "紫阳", "竹园坝", "张掖", "镇远", "漳州东", "漳州", "壮志", "子洲", "中寨", "涿州", "咋子", "卓资山", "株洲西",
             "郑州西", "阿巴嘎旗", "阿城北", "阿尔山北", "安江东", "阿勒泰", "安陆西", "安仁", "安顺西", "安图西", "安阳东", "博白", "八步", "栟茶", "八达岭长城",
             "保定东", "博尔塔拉", "八方山", "白沟", "滨海", "滨海北", "滨海港", "滨海西", "毕节", "宝鸡南", "北京大兴", "北井子", "八里甸子", "白马井", "北票",
             "宝清", "璧山", "白沙铺", "白水县", "板塘", "白文东", "宾西北", "本溪新城", "步行街", "宾阳", "白云北", "白洋淀", "百宜", "白音华南", "巴中东", "彬州",
             "滨州", "宾州", "亳州南", "霸州西", "长安", "长安西", "澄城", "承德县北", "承德南", "成都西", "曹妃甸东", "曹妃甸港", "长葛北", "城固北", "查干湖",
             "巢湖东", "从江", "蔡家崖", "茶卡", "长临河", "长流", "茶陵南", "长宁", "常平东", "常平南", "长庆桥", "长寿北", "长寿湖", "常山", "潮汕", "长沙西",
             "朝天", "长汀南", "长武", "长兴", "苍溪", "楚雄", "城西", "朝阳", "长阳", "潮阳", "朝阳湖", "崇州", "城子坦", "东安东", "德保", "都昌", "东岔",
             "东城南", "东戴河", "丹东西", "东二道河", "大方", "大丰", "大方南", "东港北", "东莞港", "大孤山", "东莞", "东莞西", "东花园北", "鼎湖东", "鼎湖山",
             "道滘", "垫江", "洞井", "丹江口", "董家口", "大苴", "洞口", "达连河", "大荔", "大朗镇", "得莫利", "大青沟", "德清", "东胜东", "砀山南", "大石头南",
             "当涂东", "大同南", "大通西", "大旺", "定西北", "大兴机场", "德兴东", "德兴", "丹霞山", "大阳", "大冶北", "都匀东", "大邑", "东营南", "大余", "邓州东",
             "定州东", "端州", "大足南", "额敏", "峨眉山", "阿房宫", "鄂州东", "防城港北", "丰城东", "凤城东", "富川", "方城", "繁昌西", "丰都", "扶沟南", "福海西",
             "涪陵北", "枫林", "阜宁东", "富宁", "阜宁南", "阜宁南", "佛坪", "法启", "芙蓉南", "丰顺东", "复盛", "抚松", "佛山西", "福山镇", "福田", "凤台南",
             "费县北", "阜新", "富阳", "富源北", "抚远", "阜阳西", "抚州东", "抚州", "方正", "南", "高安", "广安南", "贵安", "高碑店东", "古北口", "谷城北",
             "古城东", "恭城", "藁城南", "贵定北", "葛店南", "贵定县", "广汉北", "高花", "革居", "高楞", "关岭", "桂林西", "高密北", "光明城", "灌南", "广宁",
             "广宁寺", "广南县", "桂平", "弓棚子", "赶水东", "光山", "谷山", "观沙岭", "古田北", "广通北", "高台南", "古田会址", "赣县北", "贵阳北", "观音机场",
             "贵阳东", "灌云", "赣榆", "高邑西", "赣州西", "淮安东", "淮安东", "惠安", "怀安", "淮北北", "鹤壁东", "花博山", "寒葱沟", "霍城", "珲春", "河东机场",
             "横道河子东", "邯郸东", "惠东", "哈达铺", "洪洞西", "海东西", "哈尔滨北", "合肥北城", "合肥南", "黄冈", "黄冈东", "横沟桥东", "黄冈西", "洪河", "怀化南",
             "黄河景区", "惠环", "花湖", "后湖", "厚街", "怀集", "河口北", "宏克力", "怀来", "海林北", "黄流", "黄陵南", "虎门北", "虎门东", "鲘门", "海门",
             "洪梅", "虎门", "侯马西", "衡南", "淮南东", "淮南南", "合浦", "霍邱", "怀仁东", "华容东", "华容南", "红寺堡北", "黑山北", "衡水北", "黄山北", "黄石北",
             "贺胜桥东", "和硕", "花山南", "黑山寺", "荷塘", "黄土店", "海阳北", "合阳北", "槐荫", "鄠邑", "花园口", "淮阳南", "霍州东", "惠州南", "建安", "吉安西",
             "泾川", "碱厂", "景德镇北", "旌德", "建德", "尖峰", "近海", "蛟河西", "军粮城北", "将乐", "贾鲁河", "九郎山", "即墨北", "剑门关", "佳木斯西", "莒南北",
             "建宁县北", "济南东", "江宁", "江宁西", "建瓯西", "建桥", "酒泉南", "句容西", "建水", "尖山", "界首南", "界首市", "吉水西", "绩溪北", "介休东", "泾县",
             "靖西", "郏县", "进贤南", "揭阳", "江油北", "揭阳机场", "简阳南", "嘉峪关南", "金银潭", "靖宇", "金月湾", "缙云西", "景州", "晋中", "开封北", "开福寺",
             "开化", "凯里南", "库伦", "昆明南", "葵潭", "开阳", "昆玉", "喀左", "隆安东", "来宾北", "灵璧", "寮步", "绿博园", "隆昌北", "乐昌东", "临城",
             "罗城", "陵城", "老城镇", "龙洞堡", "乐都南", "娄底南", "乐东", "离堆公园", "娄烦", "来凤", "陆丰", "龙丰", "禄丰南", "临汾西", "临高南", "麓谷",
             "滦河", "珞璜南", "隆回", "漯河西", "罗江东", "柳江", "利津南", "厉家寨", "兰考南", "龙口市", "龙里北", "兰陵北", "沥林北", "醴陵东", "芦庙", "陇南",
             "梁平南", "龙桥", "礼泉", "临泉", "龙山北", "灵石东", "涟水", "乐山", "龙市", "溧水", "娄山关南", "岚山西", "灵武北", "洛湾三江", "莱西北", "岚县",
             "溧阳", "临沂北", "沂北", "临邑", "柳园南", "鹿寨北", "临淄北", "阆中", "临泽南", "马鞍山东", "毛陈", "帽儿山西", "明港东", "民和南", "闵集", "马兰",
             "民乐", "弥勒", "玛纳斯", "牟平", "闽清北", "民权北", "眉山东", "蒙山", "名山", "庙山", "岷县", "门源", "暮云", "蒙自北", "孟庄", "蒙自", "梅州西",
             "南部", "南曹", "南充北", "牛车河", "南城", "昌", "南昌西", "宁东南", "宁东", "南芬北", "南丰", "南湖东", "牛河梁", "南华", "内江北", "南江",
             "南江口", "奈林皋", "南陵", "尼木", "南宁东", "南宁西", "南堡北", "南平市", "宁强南", "泥溪", "南雄", "南阳东", "纳雍", "南阳寨", "普安", "普安县",
             "屏边", "平坝南", "平昌", "普定", "平度", "平顶山西", "蒲江", "皮口", "盘龙城", "蓬莱市", "普宁", "平南南", "平泉北", "彭山北", "屏山", "盘山",
             "坪上", "萍乡北", "鄱阳", "濮阳", "平遥古城", "平原东", "普者黑", "盘州", "彭州", "攀枝花南", "彭州南", "秦安", "青白江东", "青川", "青岛北", "千岛湖",
             "祁东", "启东", "青堆", "青岛西", "前锋", "清河门北", "齐河", "曲靖北", "綦江东", "曲江", "邛崃", "青莲", "齐齐哈尔南", "清水北", "青神", "岐山",
             "庆盛", "清水县", "曲水县", "犍为", "祁县东", "黔西", "乾县", "旗下营南", "祁阳", "青州市北", "乔庄东", "全州南", "棋子湾", "清镇西", "仁布", "荣昌北",
             "荣成", "瑞昌西", "如东", "榕江", "日喀则", "饶平", "日照西", "宋城路", "三道湖", "邵东", "三都县", "胜芳", "双峰北", "商河", "泗洪", "双河市",
             "四会", "畲江北", "石家庄东", "三江南", "沙井西", "三井子", "四棵树", "双流机场", "双龙湖", "石林西", "双流西", "胜利镇", "三明北", "三明", "嵩明",
             "树木岭", "神木", "睢宁", "苏尼特左旗", "山坡东", "沈丘北", "商丘东", "宿迁", "石桥", "沈丘", "鄯善北", "狮山北", "三水北", "松山湖北", "狮山",
             "泗水南", "三水南", "韶山南", "三穗", "石梯", "汕尾", "歙县北", "绍兴北", "绍兴东", "寿县", "泗县", "始兴", "随县", "泗阳", "双洋", "三阳", "射阳",
             "双阳", "邵阳北", "松原北", "十堰东", "山阴", "邵阳西", "沈阳西", "深圳机场北", "深圳北", "深圳机场", "神州", "桑植", "尚志南", "随州南", "深圳坪山",
             "石嘴山", "石柱县", "台安南", "桃村北", "铁厂沟", "塔城", "铁刹山", "田东北", "土地堂东", "太谷西", "吐哈", "通海", "太和北", "天河机场", "太和东",
             "天河街", "唐海南", "通化县", "同江", "托克托东", "吐鲁番北", "铜陵北", "桐庐", "泰宁", "铜仁南", "天水南", "通渭", "田心东", "汤逊湖", "藤县",
             "太原南", "桃源", "通远堡西", "桐梓北", "太子城", "桐梓东", "通州", "万安县", "吴川", "文登东", "武当山西", "潍坊北", "五府山", "威虎岭北", "威海北",
             "苇河西", "温江", "魏家泉", "乌兰察布", "五龙背东", "乌龙泉南", "乌兰木图", "望牛墩", "五女山", "渭南西", "武胜", "乌苏", "五通", "无为", "无为南",
             "瓦屋山", "威信", "闻喜西", "武义北", "武夷山北", "婺源", "渭源", "万州北", "吴忠", "武陟", "梧州南", "兴安北", "许昌北", "许昌东", "项城", "新都东",
             "西渡", "咸丰", "西丰", "先锋", "湘府路", "襄汾西", "孝感北", "新干东", "孝感东", "兴国西", "夏格庄", "兴和北", "宣化北", "下花园北", "西湖东",
             "新化南", "西华", "新晃西", "新津", "小金口", "辛集南", "新津南", "西来", "新民北", "门", "咸宁东", "咸宁南", "溆浦南", "西平西", "响水县", "湘潭北",
             "邢台东", "新塘南", "兴文", "西乌旗", "修武西", "修文县", "萧县北", "新香坊北", "新乡东", "萧县", "岫岩", "新余北", "西阳村", "信阳东", "襄阳东",
             "咸阳秦都", "秀英", "仙游", "祥云", "新郑机场", "香樟路", "忻州西", "雅安", "永安南", "迎宾路", "亚布力西", "宜宾西", "永城北", "盐城北", "运城北",
             "禹城东", "永川东", "宜春", "岳池", "云东海", "姚渡", "云浮东", "永福南", "雨格", "阳高南", "洋河", "永济北", "弋江", "延吉西", "永康南", "依兰",
             "运粮河", "鄢陵", "炎陵", "杨陵南", "羊马", "一面坡北", "云梦东", "伊敏", "元谋西", "郁南", "云南驿", "延平东", "延平", "银瓶", "延平西", "原平西",
             "雁栖湖", "杨桥", "阳曲西", "永仁", "颍上北", "阳朔", "永寿", "云山", "玉山南", "雁石南", "永泰", "银滩", "鹰潭北", "烟台南", "伊通", "烟台西",
             "尤溪", "云霄", "宜兴", "玉溪", "应县", "阳信", "攸县南", "洋县西", "义县西", "余姚北", "禹州", "榆中", "诏安", "淄博北", "正定机场", "准东",
             "纸坊东", "准格尔", "庄河北", "昭化", "织金北", "张家川", "芷江", "织金", "张家口南", "张家界西", "仲恺", "周口东", "曾口", "珠琳", "左岭", "樟木头东",
             "驻马店西", "邹平", "漳浦", "漳平西", "章丘北", "肇庆东", "庄桥", "昭山", "钟山西", "朱砂古镇", "中堂", "中卫南", "镇雄", "漳县", "资阳北", "遵义",
             "遵义南", "张掖西", "资中北", "涿州东", "枣庄东", "卓资东", "郑州东", "株洲南","香港红磡"]
CITY_CODE = ["VAP", "BOP", "BJP", "VNP", "BXP", "IZQ", "CUW", "CQW", "CRW", "CXW", "GGQ", "SHH", "SNH", "AOH", "SXH",
             "TBP", "TJP", "TIP", "TXP", "XJA", "CCT", "CET", "CRT", "ICW", "CNW", "CDW", "CSQ", "CWQ", "JAK", "FZS",
             "FYS", "GIW", "GZQ", "GXQ", "HBB", "VBB", "VAB", "HFH", "HTH", "NDC", "HHC", "HMQ", "VUQ", "HGH", "HZH",
             "XHH", "JNK", "EEI", "EII", "JGK", "KMM", "KXM", "LSO", "LVJ", "LZJ", "LAJ", "NCG", "NJH", "NKH", "NNZ",
             "VVP", "SJP", "SYT", "SBT", "SDT", "SOT", "TBV", "TDV", "TYV", "WHN", "KNM", "WAR", "EAY", "XAY", "CAY",
             "XNO", "YIJ", "ZZF", "ART", "AKY", "ASR", "AHX", "AKR", "APT", "AQH", "ASW", "AST", "AYF", "BAB", "BBH",
             "BCT", "BHZ", "BEL", "BAP", "BJY", "BJB", "BKX", "BIZ", "HJL", "BTT", "BDC", "BTC", "BXR", "BXT", "BEC",
             "BXJ", "BZH", "CBN", "VGQ", "CDP", "CDT", "CFD", "CDG", "CEH", "CPP", "CRG", "CTT", "CDB", "CXK", "COM",
             "CXT", "CBF", "IYH", "CZJ", "CZH", "CZQ", "CZF", "COP", "CZZ", "RNT", "DCT", "DUT", "DFB", "DMQ", "DHD",
             "DHL", "DHJ", "DHT", "DJB", "DFP", "DDW", "DFT", "DKM", "DLT", "DNG", "DZX", "DOC", "DQT", "DTV", "DPK",
             "DUX", "RYW", "DOF", "RXW", "DZP", "EJC", "RLC", "ESN", "FES", "FJQ", "FLV", "FLW", "FRX", "FET", "FSQ",
             "FXD", "FYH", "GRO", "GHW", "GJV", "GBZ", "GRX", "GLZ", "GXN", "GSN", "GNJ", "GYW", "GBQ", "GZG", "GLT",
             "GBT", "AUH", "HRH", "HMB", "HVN", "HBV", "KCN", "HCY", "HDP", "HDB", "HGB", "HTT", "HEM", "HJB", "HHQ",
             "HKN", "HLD", "HRX", "HWD", "HLB", "HMV", "HMR", "HAH", "HNB", "EUH", "HQM", "HBP", "HRP", "OSN", "HSY",
             "HKH", "HSN", "HSP", "HYQ", "HIK", "HXZ", "HOY", "HCQ", "VAG", "JAL", "JBG", "JCF", "JJZ", "JCG", "JFF",
             "JGX", "JGG", "JHL", "RNH", "JBH", "JJG", "JLL", "JMN", "JMB", "JIK", "JAC", "JQJ", "JUH", "JIQ", "JTL",
             "JVJ", "JXB", "JRH", "JGJ", "JFW", "JKP", "JZT", "JZD", "KLR", "KFF", "KLV", "KLW", "KSR", "KNH", "KTR",
             "KYT", "UAH", "LBF", "UCH", "LCN", "LCW", "LKZ", "LCG", "UTP", "LDL", "LDQ", "LFV", "LGP", "LHC", "LON",
             "LWJ", "UHP", "LHM", "LQL", "LJL", "LHV", "LLG", "LKV", "UPP", "UMW", "LVV", "LST", "LWH", "LXJ", "LEQ",
             "UEP", "LYS", "LYQ", "LYF", "UKH", "LDF", "LVK", "LLF", "DHR", "LYD", "LYL", "LZX", "LZZ", "LZD", "MCN",
             "MDX", "MDB", "MRX", "MGH", "MHX", "MVX", "MDQ", "MMZ", "MSB", "MJT", "VAW", "MYW", "MOQ", "MLX", "NVH",
             "NGH", "NCB", "NCW", "NDZ", "NMP", "NFT", "NHX", "NGX", "NJW", "NUH", "NFF", "NZX", "PEN", "PVD", "PIJ",
             "POJ", "PQP", "PSQ", "PXG", "PXZ", "PCW", "PRW", "QRN", "QSW", "QDK", "QYP", "QJM", "QNW", "QEB", "QHX",
             "QTB", "QVV", "QRS", "QYS", "QEH", "RAZ", "RQJ", "RJG", "RZK", "SCB", "SFB", "SGQ", "SHD", "SHB", "SFX",
             "SXT", "SLL", "OMY", "SMF", "ONY", "NIW", "SPT", "SQF", "SRG", "SSQ", "OAH", "OTQ", "SWS", "OEP", "SYQ",
             "SEQ", "SNN", "SMS", "SSB", "VYT", "SZH", "SZQ", "OXH", "SZN", "SUV", "OSQ", "TBQ", "TVX", "TGY", "TGP",
             "TXX", "THL", "TLX", "TFR", "TLD", "TLT", "TPT", "TML", "RDQ", "FUP", "TFT", "TAK", "TSP", "TSJ", "TYT",
             "TQT", "UTH", "TZW", "TAP", "WCB", "WCN", "WDT", "WKK", "WHH", "WXC", "WJT", "WMR", "WLW", "WWT", "WNY",
             "WSM", "WIT", "WUJ", "WWJ", "WXH", "WXR", "WPB", "WAS", "WYY", "WYW", "WZZ", "RZH", "VRH", "ECW", "XCF",
             "ENW", "XTC", "XKS", "XMS", "XBS", "XWM", "XXF", "XUN", "XYY", "XFN", "XYT", "XUG", "XCH", "YWY", "YBW",
             "YWB", "YBD", "HAN", "YCW", "AFH", "YCN", "YNV", "YCB", "YCV", "YBP", "YCG", "YET", "YGW", "YIV", "YJL",
             "YKT", "YKX", "YLZ", "YNY", "ALY", "TWQ", "YPB", "YMR", "YAY", "YZW", "YPV", "YNP", "YYV", "YQB", "AQP",
             "NUW", "YNG", "AOP", "YRT", "YAK", "YTG", "YEX", "ATP", "YWH", "YON", "YXD", "AEQ", "YYQ", "YUQ", "YLH",
             "AOQ", "ZBK", "ZDV", "ZGW", "ZHQ", "ZIQ", "ZJZ", "ZJH", "DIQ", "ZMP", "ZKN", "ZTX", "ZDN", "ZVQ", "ZIT",
             "ZDW", "ZWJ", "ZYW", "ZIW", "ZEK", "ZZW", "ZZQ", "ZFK", "AAX", "ACB", "ADX", "ARW", "ADP", "ADO", "AGT",
             "YED", "AHP", "PKQ", "AJJ", "AJB", "AJD", "PYW", "AER", "AYY", "ALD", "AUZ", "ASX", "ALN", "JTX", "AZM",
             "APH", "AXT", "ATV", "ASH", "ATR", "ATL", "AXS", "BWQ", "BPW", "BGV", "BMH", "BCR", "BUP", "BEP", "BDP",
             "BPP", "ILP", "BNN", "BFF", "BGM", "BUT", "BIY", "BWH", "BEY", "BJJ", "BJM", "IBQ", "BLQ", "BBM", "BSB",
             "BTD", "BKD", "BKB", "BAT", "BRZ", "BOR", "BLX", "BNB", "BOZ", "BLB", "BLR", "BND", "AAP", "BMD", "BNM",
             "BMB", "BRP", "RPD", "BQP", "BQB", "BQL", "BAY", "BSY", "BPM", "BAL", "BUM", "FDC", "BTQ", "BZP", "BYP",
             "BHT", "BXK", "VXD", "BYC", "BYB", "BIV", "BAC", "BID", "BYT", "BNJ", "BCD", "IEW", "RMP", "BVP", "CIN",
             "CBC", "CEJ", "CCM", "CCP", "CID", "CAX", "CGT", "CEF", "CGV", "CGY", "CAJ", "CZB", "WBW", "CHB", "CHZ",
             "CKT", "CHP", "CIH", "CJT", "CJX", "CAM", "CJY", "CLK", "CYP", "CUQ", "CLP", "CLT", "CMB", "CNJ", "VBP",
             "DAQ", "CPM", "CQB", "CON", "CSB", "EFW", "CSP", "CST", "CSL", "CSC", "CVT", "CES", "CTY", "CPT", "CQQ",
             "CIP", "CNZ", "CXQ", "CRP", "CFH", "CYK", "CAL", "CEK", "CEX", "CYL", "CDD", "CYD", "CYF", "CZL", "CUH",
             "ESH", "CXH", "CKQ", "CVK", "CFP", "CWM", "ICQ", "CBP", "DAG", "RAT", "DBJ", "DBC", "DBD", "NWQ", "RBT",
             "DCR", "DYJ", "DBB", "RDT", "DGJ", "DVW", "DDB", "DKJ", "DRD", "DRX", "TKX", "UFQ", "DGY", "DIL", "DMM",
             "DTT", "RGW", "DGP", "DHB", "DHP", "DQD", "SOQ", "DXT", "DQH", "DJT", "DKB", "DJL", "DKP", "RVD", "DHO",
             "DLB", "DLD", "DIC", "DTX", "DLV", "DNC", "GZT", "DMD", "DEP", "DNF", "DNZ", "DPD", "RPP", "DPI", "DVT",
             "LFX", "DQX", "DML", "DQB", "MOH", "RHX", "DRQ", "DKH", "RWW", "DWT", "DPM", "DSL", "DYC", "RZT", "DBH",
             "DQK", "DGT", "DBM", "DTL", "RUH", "DNT", "DRJ", "DFJ", "DWJ", "DZZ", "DFM", "DXL", "DXX", "DSJ", "DXM",
             "DXG", "DKV", "DXV", "RXP", "DXD", "DYH", "DYW", "DYX", "DYN", "EXH", "IAW", "DBV", "DYV", "EWH", "RYV",
             "DYZ", "DJP", "DZD", "DTJ", "DIP", "DCH", "DVQ", "DNV", "DFZ", "DZV", "DWV", "ROP", "DXP", "DZY", "DAP",
             "RZP", "EBW", "RDP", "RDX", "EEC", "RLD", "ELA", "EMW", "RML", "PXQ", "RYJ", "ECN", "FAS", "FCG", "FNG",
             "FIH", "FEM", "FHX", "FHR", "FHT", "FEV", "FHH", "FIB", "FTT", "FLJ", "FTB", "FZB", "FNH", "AKH", "FNP",
             "FQS", "VMW", "FSJ", "FUQ", "FSV", "FST", "FKP", "FSZ", "FTX", "FYP", "FDY", "FXY", "FEY", "FXK", "FUH",
             "FAV", "FBT", "FYG", "FYM", "FYT", "FYX", "FBG", "FZY", "FZC", "VZK", "GFP", "VJW", "GBP", "GBD", "GDJ",
             "GCN", "GEP", "GCV", "GZB", "GRH", "GTW", "IDW", "GDV", "GGZ", "GVP", "GGT", "GGL", "GGJ", "GGP", "GAX",
             "GEX", "GDT", "GKT", "GLJ", "GEJ", "GFM", "GHT", "GLF", "VOW", "GLP", "GMK", "GMC", "GRT", "GNT", "GNM",
             "GPF", "GEY", "GAG", "GQD", "GQY", "GZD", "GST", "GSW", "GSP", "GSL", "GSD", "GXD", "GTJ", "GAY", "GTS",
             "GTP", "KEP", "GXG", "GYH", "GXF", "GIP", "GYF", "GAW", "GUJ", "GYL", "GYD", "GZS", "GNQ", "GEH", "GZY",
             "GZJ", "GSQ", "GXT", "GOT", "GSS", "GAT", "HIH", "AMH", "HWN", "VXN", "HBL", "HEB", "HAF", "XEG", "HCN",
             "VCQ", "HCZ", "HCT", "WKW", "HCJ", "HCP", "HXT", "HGC", "HDV", "HFR", "HFG", "HXJ", "HGP", "HYM", "IGW",
             "HHT", "VHD", "HUD", "HJJ", "HJR", "HFM", "HIM", "HJF", "HJV", "HJS", "HJT", "HDC", "HXP", "HJM", "HKJ",
             "HKG", "KOH", "HUB", "HPD", "HHB", "HIT", "HOB", "HIB", "ULY", "HRB", "VLB", "HAT", "HLL", "HIL", "HAX",
             "VTJ", "HLT", "VEH", "HYP", "HHL", "HNH", "HMJ", "VAQ", "HZM", "VQH", "HEY", "HRV", "HRN", "HDY", "HDL",
             "VSR", "VSQ", "VSB", "HSQ", "HOT", "VCH", "HHP", "HSJ", "HUT", "HSO", "HEQ", "VSJ", "HQB", "VTK", "VTR",
             "VTQ", "HZT", "HWK", "RWH", "VXB", "HYY", "VHB", "VTB", "HTJ", "VIX", "HFO", "HAY", "HVQ", "HUW", "HQY",
             "HGJ", "WHW", "VIQ", "HUN", "HNO", "HYJ", "VZH", "HZZ", "VON", "HZV", "VXQ", "JRT", "JIY", "JBD", "JEF",
             "JCJ", "JCK", "JNV", "JFD", "JDB", "JFP", "JOB", "UDH", "JST", "VGP", "JHP", "JHX", "JHB", "JHR", "JIR",
             "JHZ", "AJH", "VJD", "JJS", "JEY", "JJB", "JJW", "JKT", "JLJ", "JMM", "JWQ", "JES", "JOK", "JNP", "JVS",
             "JPC", "JQX", "SSX", "EGH", "JRN", "JSH", "JCN", "JVV", "JSL", "JET", "JOP", "JIB", "EAH", "JTB", "JOM",
             "JTJ", "JNL", "JWX", "JUG", "JKK", "JUK", "JXV", "JXH", "JJP", "EPH", "JXT", "JYW", "UEH", "JYS", "JYK",
             "JRQ", "JYZ", "JYH", "JYJ", "SZL", "JYF", "JXJ", "JZK", "WEF", "JZH", "JBN", "JIP", "JEQ", "JXK", "JXP",
             "JOD", "JOF", "JVP", "JYD", "KAT", "KCR", "KCP", "KDX", "KDT", "KOB", "KDC", "KAW", "KJB", "KQX", "KLC",
             "KHR", "PVQ", "KQL", "KSH", "KAB", "KSB", "KXZ", "KAM", "KHX", "KXT", "KZP", "UBZ", "LLT", "LPF", "LUQ",
             "LCQ", "UCP", "UCK", "LCK", "LDY", "LRC", "LDO", "LDP", "LVP", "LVM", "LJP", "LOP", "LFP", "UFD", "LNB",
             "LGM", "LOM", "LGJ", "LGB", "UFH", "LXX", "LHX", "JID", "LNL", "KLH", "LHP", "UNP", "LEX", "LRT", "UDT",
             "LVT", "LKS", "UJH", "LJB", "LJW", "LJZ", "UJT", "LJX", "UJL", "LHB", "ULK", "LIJ", "LKF", "LKB", "LKQ",
             "LAX", "LWQ", "LAB", "LRM", "LLW", "LLB", "UWZ", "UAP", "LMX", "LMB", "LMJ", "UNG", "UQW", "LPM", "LPP",
             "UPJ", "LPG", "UQK", "UQJ", "UTW", "LUM", "UDQ", "LGT", "USP", "USH", "LIQ", "LRN", "LAF", "LMK", "LSV",
             "LUL", "LSG", "LBT", "LSD", "LAS", "LSB", "LET", "LTZ", "LAR", "LTP", "LBM", "LVZ", "LTJ", "VLJ", "LWK",
             "LRJ", "LNJ", "UXK", "LXB", "LXY", "LXQ", "LUG", "LXK", "LXC", "UXP", "LYK", "LYY", "LYT", "LDD", "UYK",
             "UIH", "LNF", "LXL", "LMH", "LVS", "LYX", "LAQ", "LYP", "LPQ", "LEJ", "LZT", "UAQ", "LIW", "LIZ", "LZS",
             "LZA", "LEM", "LQJ", "MAH", "MBY", "MGY", "MBN", "MCF", "MCL", "MAP", "MNF", "KPM", "MUQ", "MOB", "MDF",
             "MRB", "MGN", "MHL", "MHZ", "MGB", "MHQ", "MQQ", "MHB", "MLB", "MLZ", "MLL", "MLD", "MID", "MGM", "MUD",
             "MLQ", "MNR", "UGW", "MPQ", "MQB", "MQS", "MQF", "MUT", "MAB", "MSW", "MKW", "MOM", "MST", "PWQ", "MEB",
             "MVY", "MVQ", "MUP", "MMW", "MYS", "MUR", "MZJ", "MEY", "MFQ", "NAB", "NAT", "NBK", "NCK", "NSP", "NCZ",
             "NES", "NGP", "NFP", "NLT", "NNH", "NHH", "NHS", "NHJ", "NHD", "NVT", "NJS", "NJB", "NJD", "NKP", "NKT",
             "NNQ", "NLD", "NIR", "ULZ", "NLF", "NMD", "NMZ", "NMX", "NPZ", "NQD", "NQO", "NQJ", "NTT", "NOQ", "NWV",
             "NWP", "NEH", "NXQ", "NXF", "NXT", "NUP", "NIP", "NAF", "NZT", "PAW", "PAL", "PNO", "PAJ", "PZT", "PEY",
             "PCY", "PDB", "PRP", "PXJ", "PRT", "PFB", "PGL", "PGZ", "PGM", "PAM", "PHP", "PHM", "PHQ", "PBD", "PDP",
             "PKT", "PLT", "PNT", "PSB", "PSW", "PSR", "PSL", "PSV", "PHW", "PVT", "PTM", "PTS", "PTW", "PWT", "PWV",
             "PGV", "POW", "KZW", "PWW", "ARH", "PYX", "PYJ", "PYV", "PIK", "PPJ", "PYK", "PYP", "PZD", "PZG", "PJH",
             "POD", "PND", "QOT", "QAB", "QQP", "QRQ", "QDM", "QAK", "QFT", "QVP", "QFK", "QYQ", "QTP", "QUY", "QIP",
             "QHD", "QHP", "INH", "QJN", "QJZ", "QJB", "QJW", "QBT", "QNY", "QZV", "QLD", "QLY", "QLZ", "QIB", "QGH",
             "QIH", "QMP", "QSB", "QSN", "QXQ", "QUJ", "QYH", "QVH", "QAT", "QTJ", "QWD", "QWP", "QRW", "QXV", "QXP",
             "QXJ", "QUV", "QXC", "QOY", "QYF", "QYL", "QVQ", "QYJ", "QSJ", "QBQ", "QYT", "QDZ", "QRZ", "QZK", "RAH",
             "RCW", "RCG", "RBH", "RUQ", "RQP", "ROK", "RSZ", "RSD", "RXZ", "RVP", "RYF", "RHD", "ROF", "OBJ", "SBP",
             "AQW", "OBP", "ZWT", "SBB", "OCH", "SWN", "SCR", "SCS", "SMV", "SCP", "SCT", "SCL", "SDJ", "ORQ", "ODY",
             "SIL", "SXC", "SEP", "OUD", "OJQ", "OLH", "OFB", "STB", "OTW", "OKJ", "OGC", "SNQ", "SVK", "JBS", "SED",
             "SHY", "SBM", "SHP", "SKT", "SHC", "VOP", "SSD", "SHL", "OXP", "OHD", "OZW", "SEL", "SZR", "SVP", "ODP",
             "SQH", "OJJ", "SJL", "SJB", "SUB", "OJB", "SML", "SAH", "SKD", "OLK", "IMH", "SRP", "SJJ", "SOZ", "SMM",
             "SJD", "OZL", "SHM", "SWT", "OMP", "SUR", "SHJ", "VLD", "SPB", "SLM", "ZJD", "SIB", "SOL", "LNM", "SLQ",
             "SLC", "SNT", "OLY", "SLP", "VFQ", "SCF", "OQH", "OMQ", "SXF", "SYP", "SOB", "SBZ", "CYW", "PPT", "SON",
             "SFJ", "SQM", "SPF", "SID", "SXY", "SQT", "SRB", "SRL", "SQB", "SWB", "SSR", "SJQ", "OSK", "SAD", "SFT",
             "SAT", "SRD", "SST", "PQQ", "SSL", "MZQ", "SHX", "SDH", "OTB", "SEV", "SFM", "SWP", "SKB", "SXR", "OVH",
             "SXZ", "SAS", "SOH", "SXL", "SXM", "SXJ", "SYB", "FMH", "SYV", "OYP", "SYJ", "SPJ", "OEJ", "SOP", "OYD",
             "SYL", "BDH", "SAY", "SUD", "OYJ", "SAJ", "SND", "OHH", "SRH", "BJQ", "OZP", "OZY", "SZD", "SZB", "SNM",
             "SIN", "SEM", "KAH", "ITH", "TMK", "TID", "TAJ", "TBF", "TBB", "TTH", "TCX", "TZK", "TCL", "TCK", "TRQ",
             "TDZ", "TGL", "TGC", "TOL", "TGV", "THX", "THM", "THF", "THG", "TKH", "TIX", "TNJ", "TOT", "PDQ", "TZP",
             "TMD", "TEX", "TJH", "TFZ", "TIZ", "TLB", "PXT", "QSL", "TMN", "TNN", "TLS", "TRC", "TCJ", "TVT", "TVW",
             "TIT", "TEB", "TQX", "TTK", "TQL", "TQJ", "TCT", "PUQ", "TAB", "TIM", "TUT", "THB", "TXJ", "TSW", "TCH",
             "TRZ", "TND", "TYF", "TIL", "TYJ", "KTT", "TYB", "TYP", "TEK", "TZH", "TZJ", "TXK", "TZV", "TEW", "QWH",
             "WBP", "WAP", "WVP", "WUY", "WEW", "WCT", "WEQ", "WDB", "WRB", "WBK", "WDL", "WHP", "WNZ", "WVT", "WRN",
             "WDP", "WHX", "WFK", "WFB", "WUT", "WXT", "WGB", "WGY", "WGL", "WGM", "WVC", "WHB", "WHF", "WCJ", "WUB",
             "WAM", "WJP", "WJL", "WJJ", "WQB", "WKT", "WBT", "WEB", "WVX", "VHH", "WLK", "WQC", "WLX", "WBY", "WRX",
             "WNQ", "WWG", "WVY", "WNJ", "WPT", "WUP", "WQL", "WWP", "WSJ", "WEV", "WSP", "WTP", "WSV", "WZJ", "WVR",
             "WGH", "WVB", "WXV", "WVV", "IFH", "WXN", "WYZ", "WYB", "RYH", "WWB", "WIM", "WYC", "WZL", "WZY", "WZV",
             "WZB", "WQP", "WKD", "EAM", "XAZ", "XAF", "XAP", "EBP", "XLP", "ECH", "XCD", "XEM", "XRX", "XCB", "XCT",
             "EDW", "EJM", "XMP", "XEZ", "XOD", "XFB", "EFG", "XFV", "XFW", "EGG", "XGV", "XGN", "XUJ", "EUG", "XIJ",
             "XGJ", "NBB", "XHY", "XXB", "XIR", "XWJ", "EEP", "XAX", "EFQ", "XHB", "XLQ", "EHQ", "XHP", "XEC", "XYD",
             "XYP", "EKY", "HYK", "XJB", "EJG", "XJV", "ENP", "XJM", "EKM", "XJT", "XTJ", "XMT", "EKB", "EAQ", "XNB",
             "XDD", "ELP", "XPX", "XLB", "XLJ", "XYB", "GCT", "XPH", "XLD", "EXP", "XZB", "XGT", "XMD", "XMB", "XAT",
             "XNV", "XRN", "ENQ", "XNN", "XAW", "XPN", "XPY", "XPM", "XOS", "EPQ", "XIW", "XQB", "XQD", "XQJ", "XRL",
             "ESP", "XSB", "XZN", "XSV", "XST", "XSP", "XIZ", "XAM", "ETW", "XOB", "XDT", "XSJ", "XTQ", "XTP", "XTG",
             "XAN", "EIP", "XJQ", "EPD", "XWF", "XSN", "ENN", "XQY", "XXQ", "XIF", "XOV", "XXM", "XGQ", "XZC", "XXP",
             "XDB", "XUY", "XBY", "SNZ", "XHM", "VIH", "XRZ", "EEQ", "XFM", "XYX", "EIF", "EJH", "EXM", "EYB", "XZJ",
             "UUH", "XZX", "XRP", "XZT", "XWN", "XXV", "XZD", "XRD", "ERP", "YAC", "YAX", "YAS", "YNB", "YBB", "YUD",
             "YAB", "YKM", "AIH", "YYB", "YER", "YKJ", "YYY", "YQQ", "YIN", "YHN", "YCK", "YEK", "YNF", "YAL", "YPK",
             "YAP", "ACP", "IXH", "YCT", "YDQ", "YDJ", "YDM", "YGS", "WLQ", "YGH", "YDG", "YAJ", "IIQ", "YYM", "YRB",
             "YOV", "YIK", "YOB", "EVH", "YHP", "AEP", "YHM", "URH", "WRQ", "YAM", "AEW", "YHG", "AJP", "YAT", "YGJ",
             "YJT", "YIR", "AFP", "AZK", "RFH", "YGT", "YJX", "YLW", "YSM", "YDY", "YLX", "YLB", "YSY", "ALW", "YLM",
             "YLD", "YQP", "YUM", "YMF", "YVV", "YXJ", "YMN", "YMM", "YST", "YNK", "YVM", "YNR", "YZJ", "ABM", "YPP",
             "UPH", "YSR", "AQK", "YQT", "YQV", "YGP", "YVH", "YBF", "YSJ", "AUM", "YSF", "YUK", "YSV", "ASP", "YSP",
             "YAD", "AIP", "YSX", "YUT", "YIP", "YTQ", "YTZ", "YSL", "YUX", "YWM", "WMQ", "YHW", "ACG", "YOG", "YXM",
             "YIG", "YYH", "AFW", "YIQ", "ARP", "YYL", "YYJ", "YZY", "UZH", "YSZ", "YZK", "YQM", "AEM", "YZD", "ZEY",
             "ZAD", "ZBP", "ZUP", "ZJJ", "ZCN", "ZHY", "ZQK", "ZIK", "ZCV", "ZHT", "ZDP", "ZDB", "ZFM", "ZGD", "ZGB",
             "ZHX", "VNH", "ZIN", "ZJY", "ZUB", "ZYP", "ZOB", "ZDH", "ZEH", "ZOD", "CWJ", "ZWQ", "ZUJ", "ZBW", "ZLV",
             "ZLT", "ZIV", "ZLD", "ZXX", "ZOQ", "ZGF", "ZDJ", "VNJ", "ZNJ", "ZPF", "ZPS", "ZPR", "ZVP", "ZQY", "ZTK",
             "ZRC", "ZLM", "ZGQ", "ZOG", "ZHD", "ZSQ", "ZSY", "ZSZ", "ZSG", "ZOP", "ZWB", "ZWD", "ZOY", "ZTN", "ZXS",
             "ZVT", "ZIP", "ZXC", "ZYN", "ZVY", "ZAW", "ZYJ", "ZUW", "GOS", "ZUS", "ZUX", "ZZY", "ZZM", "ZXP", "ZAL",
             "ZZC", "ZAQ", "XPF", "AQC", "ABB", "ARX", "ADA", "AUR", "AXN", "ARG", "ASE", "AXL", "ADF", "BBZ", "BBE",
             "FWH", "VLP", "BMP", "BER", "FGQ", "FEP", "YKP", "FCP", "BGU", "FHP", "BOE", "BBY", "IPP", "BRT", "BLT",
             "BFQ", "BPT", "BUB", "FZW", "BSN", "BGY", "NGQ", "BCV", "BBB", "BVT", "BWW", "UKZ", "BVE", "FWP", "FHW",
             "BOD", "BDE", "BXY", "BIK", "BZB", "BNU", "FOP", "CAA", "CXA", "CUY", "IYP", "IVP", "CMW", "POP", "PGP",
             "CGF", "CBY", "VAT", "GUH", "KNW", "EBV", "CVO", "FVH", "CLA", "CNG", "CNE", "FQQ", "FPQ", "CQJ", "COW",
             "CSE", "CSU", "CBQ", "RXQ", "CTE", "CNS", "CWY", "CBH", "CXE", "CUM", "CIA", "VBT", "CYN", "CNQ", "CYE",
             "CZE", "CWT", "DCZ", "RBZ", "DCG", "DCJ", "IYQ", "RDD", "RWT", "DRB", "DFE", "KRQ", "DNE", "RGT", "DGA",
             "RMT", "RTQ", "WGQ", "QBP", "UWQ", "NVQ", "RRQ", "DJE", "FWQ", "DON", "DTK", "DIM", "DKA", "DCB", "DNY",
             "KOQ", "DTB", "DSD", "DRH", "RSC", "PRH", "DAL", "OWH", "DMV", "DTO", "WWQ", "DNJ", "IWP", "DDG", "DWG",
             "IRQ", "RET", "DBN", "KJW", "DEE", "DOK", "DYG", "DDF", "DOP", "WZQ", "FQW", "EMR", "IXW", "EGY", "EFN",
             "FBZ", "FIG", "FDT", "FDZ", "FNF", "PUH", "FUW", "FGF", "FHA", "FEW", "FLN", "FDU", "FNM", "FNU", "FNU",
             "FUY", "FQE", "KCQ", "FDA", "FAW", "FSL", "FOQ", "FZQ", "NZQ", "FTU", "FBK", "FOT", "FYU", "FBM", "FYB",
             "FXU", "FDG", "FZG", "FNB", "FXS", "GCG", "VUW", "GAE", "GMP", "GKP", "GBN", "GUU", "GCZ", "GUP", "FMW",
             "GNN", "KIW", "GVW", "HGD", "GEM", "GLB", "GLE", "GEZ", "GVK", "IMQ", "GIU", "FBQ", "GQT", "GXM", "GAZ",
             "GPT", "GDE", "GUN", "FFQ", "FKQ", "GBS", "GPM", "GAJ", "STS", "GIG", "KQW", "GCU", "KEW", "GOU", "GYU",
             "GNP", "GOG", "HAU", "HAU", "HNS", "QAP", "PLH", "HFF", "KBT", "HKB", "SER", "HUL", "HFJ", "KUX", "HPP",
             "KDQ", "HDJ", "HTV", "HDO", "HTB", "COH", "ENH", "KGN", "KAN", "HNN", "KXN", "HPB", "KAQ", "HCF", "KHQ",
             "KHN", "IHN", "HJA", "FAQ", "HBM", "OKB", "VQP", "KBX", "KLQ", "VLY", "HBA", "HDA", "KMQ", "HMU", "HMA",
             "IUQ", "HPV", "HNG", "HOH", "HNU", "HVZ", "FBH", "HFV", "HPN", "KRN", "HEJ", "HQT", "IHP", "NYH", "KSN",
             "HLN", "VUR", "KNN", "HVP", "KXQ", "HKP", "HEK", "HTY", "IYN", "KXY", "HYT", "HVF", "HWV", "KNQ", "JUL",
             "JIG", "JAJ", "JUT", "JDG", "NSH", "JDU", "PFQ", "JHD", "JOL", "JMP", "JLS", "JLF", "KJQ", "JVK", "JME",
             "JUB", "VNK", "JCS", "MDK", "JJH", "OKH", "JUS", "JQA", "JNJ", "JWH", "JSM", "JPQ", "JKU", "JUN", "JSG",
             "NRH", "JDV", "LOH", "JMZ", "JXF", "JXG", "JYA", "JBE", "JUA", "JOW", "JBJ", "JTN", "JYL", "PYQ", "PYH",
             "JEP", "JZV", "KBF", "FLQ", "KHU", "QKW", "KLD", "KOM", "KTQ", "KVW", "ESR", "KZT", "IDZ", "UCZ", "GMH",
             "LTQ", "LCF", "NWW", "ILQ", "UUP", "VCZ", "LGK", "ACQ", "FVW", "LVO", "UOQ", "UQQ", "INW", "USV", "LFA",
             "LLQ", "KFQ", "LQM", "LXV", "KGQ", "BNQ", "UDP", "LNE", "LHA", "LBN", "IKW", "UQZ", "LNK", "UPK", "LUF",
             "UKK", "KFW", "COK", "KBQ", "UKQ", "LMU", "INJ", "LPE", "LQU", "LGY", "LOU", "LBA", "UDV", "LIU", "IVW",
             "LAG", "LDH", "LSE", "UWK", "UWJ", "KRW", "LBK", "UXV", "LEH", "UMK", "III", "LUK", "LNR", "LSZ", "UEK",
             "LZE", "LDJ", "OMH", "MHN", "MUB", "MDN", "MNO", "MJN", "MLR", "MBJ", "MLM", "MSR", "MBK", "MBS", "MIF",
             "IUW", "MOK", "MSE", "MSN", "MXJ", "MYO", "KIQ", "MBM", "MZF", "MZM", "MXA", "NBE", "NEF", "NCE", "NHA",
             "NDG", "NOG", "NXG", "NDJ", "NOJ", "NUT", "NFG", "NDN", "LKT", "NAM", "NKW", "FIW", "NDQ", "NGT", "LLH",
             "NMO", "NFZ", "NXZ", "TLP", "NOS", "NOY", "NIE", "NCQ", "NOF", "NYE", "NYF", "PAN", "PUE", "PBM", "PBE",
             "PCE", "PGW", "PAK", "PDF", "PJE", "PUT", "PNN", "POK", "PEQ", "PAZ", "PBP", "PPW", "PSE", "PUD", "PSK",
             "PBG", "PYG", "PYF", "PDV", "PUK", "PZM", "PAE", "PMW", "PNE", "PKW", "QGJ", "QFW", "QCE", "QHK", "QDU",
             "QMQ", "QOU", "QET", "QUK", "QFB", "QBD", "QIK", "QBM", "QDE", "QIM", "QLE", "QEW", "QNB", "QEJ", "QVW",
             "QAY", "QSQ", "QIJ", "QSO", "JWE", "QGV", "QXE", "QBY", "QNC", "QWQ", "QOK", "QEP", "QNZ", "QZQ", "QUE",
             "RUO", "RQW", "RCK", "RXG", "RIH", "RVW", "RKO", "RVQ", "KZK", "SFF", "SDL", "FIQ", "KKW", "SUP", "NFQ",
             "SOK", "GQH", "OHR", "AHQ", "SOA", "SXP", "SWZ", "SJA", "OJT", "SIR", "IPW", "OHB", "SYM", "IQW", "OLB",
             "SHS", "SVS", "SVM", "FMQ", "HMY", "SNU", "ONC", "SBN", "SKF", "SIF", "SQU", "SQE", "SQN", "SMR", "NSQ",
             "ARQ", "KUQ", "KSQ", "ONK", "RNQ", "INQ", "QHW", "STE", "OGQ", "NPH", "SLH", "SSH", "SOU", "GPH", "IPQ",
             "OVN", "MPH", "SQS", "SYU", "SAU", "OYT", "OVQ", "OCT", "OUN", "SNV", "SXA", "OOT", "SBA", "IOQ", "SCA",
             "SRQ", "SZA", "OZB", "ONN", "IFQ", "QQJ", "OSW", "TAD", "TOK", "TJR", "TZR", "PST", "TBZ", "TTN", "TIV",
             "THR", "TAM", "JYN", "TJN", "TDU", "TEN", "IEP", "TXL", "TJB", "TVC", "TAR", "KXH", "TLU", "TNS", "TNW",
             "TIJ", "TWJ", "KQQ", "THN", "TAZ", "TNV", "TYA", "TST", "TBE", "IZP", "TDE", "TOP", "WAG", "WAQ", "WGK",
             "WWN", "WJK", "WFG", "WBL", "WHK", "WIB", "WJE", "WJR", "WPC", "WMT", "WFN", "VLT", "WNA", "WET", "WXY",
             "WSE", "WSR", "WTZ", "IIH", "WWU", "WAH", "WXE", "WOV", "WDH", "WBS", "WYG", "WEJ", "WZE", "WVJ", "WIF",
             "WBZ", "XDZ", "EBF", "XVF", "ERN", "EWW", "XDA", "XFA", "XFT", "NQQ", "FVQ", "XTV", "XJN", "XGG", "GDN",
             "XIG", "XZK", "EBC", "VJP", "OKP", "WDQ", "EJQ", "EHF", "EWQ", "IRW", "NKQ", "IJP", "ITW", "XLE", "XOT",
             "EMS", "XKN", "UNN", "EMQ", "EGQ", "XSU", "EDQ", "EDP", "NUQ", "XNE", "XWD", "EXF", "XWE", "QSH", "RHB",
             "EGF", "EOH", "XXT", "XBG", "XQF", "OYN", "EKN", "XOY", "XYA", "XWS", "XQM", "EZF", "FNQ", "IXV", "YAE",
             "YQS", "YFW", "YSB", "YXE", "RGH", "AEH", "ABV", "YSK", "WMW", "YEG", "AWW", "NAQ", "AOJ", "IXQ", "YBZ",
             "VTM", "AGV", "GTH", "AJV", "RVH", "YXL", "QUH", "YEB", "YEF", "YIF", "YAG", "YEY", "YME", "YXB", "YRN",
             "YMX", "AMM", "YKQ", "ANM", "ADS", "YPS", "KPQ", "YWS", "IPV", "FGP", "YQA", "IQV", "ARM", "YBU", "YCZ",
             "ASY", "KZQ", "YGG", "YMS", "YTS", "CTQ", "YKG", "YLK", "YTL", "YTK", "YXS", "YBS", "YUH", "AXM", "YZV",
             "YVK", "YXG", "YXY", "YSD", "CTH", "YZF", "IZJ", "ZDS", "ZRK", "ZHP", "ZER", "ZMN", "ZEC", "ZUT", "ZHW",
             "ZJE", "ZIJ", "ZPQ", "IZW", "IXP", "JXA", "KKQ", "ZKF", "ZKE", "ZOM", "ZSN", "ZRQ", "ZLN", "ZLK", "ZCS",
             "ZXG", "ZVK", "FCQ", "ZQH", "KWQ", "ZAZ", "ZSE", "ZTA", "ZTJ", "ZXE", "ZXJ", "FYW", "ZYE", "ZNE", "ZEJ",
             "WZW", "ZAP", "ZNK", "ZDC", "ZAF", "KVQ","JQO"]


def city2code(cityName):
    return CITY_CODE[CITY_NAME.index(cityName)]


def code2city(cityCode):
    return CITY_NAME[CITY_CODE.index(cityCode)]


from net import NetUtils
import re


class CityCode(object):
    __url = r'https://kyfw.12306.cn/otn/resources/js/framework/station_name.js?station_version=1.9139'

    def parse(self):
        content = EasyHttp.get(CityCode.__url, 10)
        return re.findall(r'([\u4e00-\u9fa5]+)\|([A-Z]+)', content)

    def save(self, names, codes):
        city_code_content = self.parse();
        for city_name, city_code in city_code_content:
            names.appends(city_name.strip())
            codes.appends(city_code.strip())


if __name__ == '__main__':
    cityCode = CityCode()
    cityCodeContent = cityCode.parse()
    city_names = ''
    city_codes = ''
    for cityName, cityCode in cityCodeContent:
        city_names += '"' + cityName + '"' + ','
        # print(cityName,'-' + cityCode)
        city_codes += '"' + cityCode + '"' + ','

    print(city_names)
    print(city_codes)
